/*
 对于二叉树T，可以定义它的先序遍历、中序遍历和后序遍历如下：
 PreOrder(T)=T的根结点+T的左子树+T的右子树
 InOrder(T)=T的左子树+T的根结点+T的右子树
 PostOrder(T)=T的左子树+T的右子树+T的根结点
 输入一棵二叉树的先序遍历和中序遍历序列，输出它的后序遍历序列。
 样例输入：
 BCDA CBAD
 样例输出：
 CDAB
 -------------------------------------------------------------------------

 */
package com.yuan.algorithms.Algorithm_1;

import java.util.Scanner;

public class 二叉树_二叉树重建 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String PreOrder, InOrder, PostOrder = "";
            PreOrder = sc.next();
            InOrder = sc.next();
            int root = 0;
            for (int i = 0; i < InOrder.length(); i++) {
                if (PreOrder.charAt(0) == InOrder.charAt(i)) {
                    root = i;
                    break;
                }
            }
            for (int i = 0; i < root; i++) {
                PostOrder += InOrder.charAt(i);
            }
            for (int i = InOrder.length() - 1; i > root; i--) {
                PostOrder += InOrder.charAt(i);
            }
            PostOrder += InOrder.charAt(root);
            System.out.println(PostOrder);
        }
    }

}
